table of contents
HIER(7) | Руководство программиста Linux | HIER(7) |
ИМЯ¶
hier - описание иерархии файловой системы
ОПИСАНИЕ¶
Типичная система Linux имеет, кроме прочих, следующие каталоги:
- /
- Корневой каталог. С него начинается всё дерево каталогов.
- /bin
- Каталог, содержащий исполняемые программы, необходимые для работы в однопользовательском режиме и для запуска или ремонта системы.
- /boot
- Содержит статические файлы загрузчика системы. В этом каталоге содержатся файлы, необходимые во время загрузки системы. Установщик карты и файлы настройки должны находиться в /sbin и /etc.
- /dev
- Специальные файлы и файлы устройств, ссылающиеся на физические устройства. См. mknod(1).
- /etc
- Содержит файлы настройки машины. Некоторые большие пакеты программ, например X11, могут иметь свои собственные подкаталоги в /etc. Общесистемные файлы настройки могут быть размещены либо в этом каталоге, либо в /usr/etc. Тем не менее, программы всегда должны искать эти файлы в /etc, и у вас могут быть ссылки на эти файлы в /usr/etc.
- /etc/opt
- Файлы настройки дополнительных приложений узла, установленных в /opt.
- /etc/sgml
- Этот каталог содержит файлы настроек SGML и XML (необязательный).
- /etc/skel
- При создании новой учётной записи пользователя файлы из этого каталога, как правило, копируются в домашний каталог пользователя.
- /etc/X11
- Файлы настроек оконной системы X11 (необязательный).
- /home
- Содержит домашние каталоги пользователей, если они расположены на этой машине. Его структура зависит от администратора системы.
- /lib
- Этот каталог должен содержать общие библиотеки, необходимые для загрузки системы и запуска команд, содержащихся в корневой файловой системе.
- /media
- Этот каталог содержит точки монтирования для съёмных носителей, таких как CD, DVD или USB.
- /mnt
- Этот каталог является точкой для временного монтирования файловых систем. В некоторых дистрибутивах /mnt содержит подкаталоги, предназначенные для использования в качестве точек временного монтирования нескольких файловых систем.
- /opt
- Этот каталог содержит дополнительные пакеты со статическими файлами.
- /proc
- Точка монтирования файловой системы proc, предоставляющей пользователю доступ к информации о запущенных процессах и ядре. Это псевдофайловая система более подробно описана в proc(5).
- /root
- Этот каталог является домашним для пользователя root (необязательный).
- /sbin
- Как и /bin, содержит команды, необходимые для запуска системы, но, как правило, не запускаемые обычными пользователями.
- /srv
- В каталоге содержится информация, которую обрабатывает данная система.
- /tmp
- Этот каталог содержит временные файлы, которые можно удалить без всяких проблем в любое время, например, по расписанию или при загрузке системы.
- /usr
- К этому каталогу обычно монтируется отдельный раздел. В нём должны содержаться общие, предназначенные только для чтения данные, так что он может быть смонтирован несколькими машинами, работающими в Linux.
- /usr/X11R6
- Система X-Window, версия 11, выпуск 6 (необязательный).
- /usr/X11R6/bin
- Исполняемые файлы, принадлежащие системе X-Window. Часто на него имеется символьная ссылка из более привычного каталога — /usr/bin/X11.
- /usr/X11R6/lib
- Файлы данных, относящиеся к системе X-Window.
- /usr/X11R6/lib/X11
- Содержит различные файлы, необходимые для запуска X. В каталоге /usr/lib/X11 часто имеется символьная ссылка на вышеуказанный каталог.
- /usr/X11R6/include/X11
- Содержит заголовочные файлы для компиляции программ, использующих систему X11. Часто имеется символьная ссылка на этот каталог в каталоге /usr/include/X11.
- /usr/bin
- Это основной каталог для исполняемых программ. Большая часть программ, не требующихся при загрузке или для ремонта системы, не устанавливаемых локально и запускаемых обычными пользователями, должна быть помещена в этот каталог.
- /usr/bin/X11
- обычное место для исполняемых файлов X11; в Linux это обычно символьная ссылка на /usr/X11R6/bin.
- /usr/dict
- Заменён на /usr/share/dict.
- /usr/doc
- Заменён на /usr/share/doc.
- /usr/etc
- В этом каталоге можно хранить системные файлы настройки, которые могут использоваться несколькими машинами одновременно. Однако, команды должны искать эти файлы в каталоге /etc. Ссылки из каталога /etc должны указывать на соответствующие файлы в /usr/etc.
- /usr/games
- Исполняемые файлы игр и обучающих программ (необязательный).
- /usr/include
- Заголовочные файлы для компилятора C.
- /usr/include/X11
- Заголовочные файлы для компилятора C и системы X-Window. Как правило, это символьная ссылка на /usr/X11R6/include/X11.
- /usr/include/asm
- Заголовочные файлы, определяющие некоторые ассемблерные функции. Это символьная ссылка на /usr/src/linux/include/asm.
- /usr/include/linux
- Содержит
информацию,
которая
может
меняться
от выпуска
к выпуску.
Это
символьная
ссылка на
/usr/src/linux/include/linux для
получения
информации,
предназначенной
только для
данной
системы.
(Заметим, что необходимо иметь заголовочные файлы, корректно работающие с текущей libc и в пространстве пользователя. Однако, исходный код ядра Linux не рассчитан на включение в пользовательскую программу и ничего не знает о работающей libc. Весьма вероятно, что появятся ошибки, если /usr/include/asm и /usr/include/linux будут указывать на произвольное дерево ядра. Системы Debian не делают этого, а используют заголовочные файлы тех версий ядра, которые себя хорошо зарекомендовали. Они поставляются в пакете libc*-dev.)
- /usr/include/g++
- Заголовочные файлы, используемые с компилятором GNU C++.
- /usr/lib
- Объектные библиотеки, в том числе и динамические, а также некоторые программы, обычно не запускаемые вручную. Более сложные программы могут иметь в этом каталоге свои подкаталоги.
- /usr/lib/X11
- Стандартная область для файлов данных, связанных с программами X, а также для файлов настройки самой X. В Linux это обычно символьная ссылка на /usr/X11R6/lib/X11.
- /usr/lib/gcc-lib
- Содержит исполняемые и заголовочные файлы для компилятора GNU C, gcc(1).
- /usr/lib/groff
- Файлы для системы форматирования документов GNU groff.
- /usr/lib/uucp
- Файлы для uucp(1).
- /usr/local
- В этот каталог обычно помещаются программы, устанавливаемые локально.
- /usr/local/bin
- Исполняемые файлы программ, установленных локально.
- /usr/local/doc
- Локальная документация.
- /usr/local/etc
- Файлы настройки локально установленных программ.
- /usr/local/games
- Программы локально установленных игр.
- /usr/local/lib
- Файлы, связанные с локально установленными программами.
- /usr/local/include
- Заголовочные файлы для компилятора C, установленного локально.
- /usr/local/info
- Страницы info, относящиеся к локально установленным программам.
- /usr/local/man
- Справочные страницы, относящиеся к локально установленным программам.
- /usr/local/sbin
- Локально установленные программы для системного администрирования.
- /usr/local/share
- Данные локально установленных приложений, которые могут быть общими между различными архитектурами одной ОС.
- /usr/local/src
- Исходный код локально установленного ПО.
- /usr/man
- Заменён на /usr/share/man.
- /usr/sbin
- В этом каталоге содержатся исполняемые программы для системного администрирования, не относящиеся к процессу загрузки, монтированию /usr или восстановлению системы.
- /usr/share
- Этот каталог содержит подкаталоги с данными приложений, которые могут быть использованы на различных аппаратных архитектурах в одной и той же ОС. Часто, в нём содержатся данные из /usr/doc, /usr/lib или /usr/man.
- /usr/share/dict
- Содержит словарь для проверки орфографии.
- /usr/share/doc
- Документация на установленные программы.
- /usr/share/games
- Статические данные игр из /usr/games.
- /usr/share/info
- Справочные страницы в формате info.
- /usr/share/locale
- Информация о локали.
- /usr/share/man
- Справочные страницы по разделам в соответствующих подкаталогах.
- /usr/share/man/<локаль>/man[1-9]
- Эти каталоги содержат исходный код справочных страниц для определённой локали. Системы, в которых используется один язык и кодировочная таблица, не содержат часть <локаль>.
- /usr/share/misc
- Различные данные, которые могут совместно использоваться для различных архитектур одной ОС.
- /usr/share/nls
- Каталог сообщений на родном языке.
- /usr/share/sgml
- Файлы для SGML и XML.
- /usr/share/terminfo
- База данных для terminfo.
- /usr/share/tmac
- Макросы troff, не распространяемые вместе с groff.
- /usr/share/zoneinfo
- Файлы с информацией о часовых поясах.
- /usr/src
- Файлы с исходным кодом различных частей системы, которые входят в состав различных пакетов. Не используйте этот каталог для работы над своими проектами, так как файлы в подкаталогах /usr предназначены только для чтения (кроме случаев установки программного обеспечения).
- /usr/src/linux
- Этот каталог всегда был традиционным местоположением файлов с исходным кодом ядра. Многие дистрибутивы размещают тут исходный код используемого в системе ядра. Для сборки ядра рекомендуется использовать другой каталог.
- /usr/tmp
- Устарел. Должен быть ссылкой на /var/tmp. Эта ссылка оставлена только для совместимости, её не следует использовать.
- /var
- Каталог, содержащий файлы, размер которых может меняться, например файлы очередей и журнала.
- /var/adm
- Вместо этого каталога используется /var/log и он должен быть символьной ссылкой на /var/log.
- /var/backups
- Этот каталог зарезервирован по историческим причинам.
- /var/cache
- Кэшированные данные программ.
- /var/catman/cat[1-9] или /var/cache/man/cat[1-9]
- Эти каталоги содержат предварительно отформатированные справочные страницы в соответствии с их разделами (категорически запрещается использовать их в работе).
- /var/cron
- Этот каталог зарезервирован по историческим причинам.
- /var/lib
- Изменяемая информация о состоянии программ.
- /var/local
- Изменяемые данные программами из /usr/local.
- /var/lock
- В этом каталоге содержатся файлы блокировки. Соглашения об именах файлов, блокирующих устройства, следующие: LCK..<устройство>, где устройство — имя устройства в файловой системе. Используется формат файлов блокировки HDU UUCP, то есть файлы блокировки содержат PID в виде 10-байтного десятичного числа ASCII; после этого числа стоит символ новой строки.
- /var/log
- Различные файлы журналов.
- /var/opt
- Изменяемые данные программами из /opt.
- /var/mail
- Почтовые ящики пользователей. Заменяет /var/spool/mail.
- /var/msgs
- Этот каталог зарезервирован по историческим причинам.
- /var/preserve
- Этот каталог зарезервирован по историческим причинам.
- /var/run
- Временные файлы, создаваемые во время работы. В них содержатся идентификаторы процессов (PID) и журнал регистрации пользователей utmp. Файлы из этого каталога обычно удаляются в процессе загрузки системы.
- /var/spool
- Файлы, поставленные в очередь различными программами.
- /var/spool/at
- Очередь заданий at(1).
- /var/spool/cron
- Очередь заданий cron(8).
- /var/spool/lpd
- Файлы, отправленные в очередь для печати.
- /var/spool/mail
- Заменён на /var/mail.
- /var/spool/mqueue
- Очередь исходящей почты.
- /var/spool/news
- Каталог хранения новостей.
- /var/spool/rwho
- Хранящиеся файлы для rwhod(8).
- /var/spool/smail
- Хранящиеся файлы для программы доставки почты smail(1).
- /var/spool/uucp
- Хранящиеся файлы программы uucp(1).
- /var/tmp
- Как и /tmp, этот каталог содержит временные файлы, но которые могут храниться неопределённое время.
- /var/yp
- Файлы с базами данных для NIS.
СООТВЕТСТВИЕ СТАНДАРТАМ¶
Соответствует стандарту Filesystem Hierarchy Standard, версия 2.2 <http://www.pathname.com/fhs/>.
ДЕФЕКТЫ¶
Этот список далеко не полон; разные системы могут быть настроены различным образом.
СМОТРИТЕ ТАКЖЕ¶
find(1), ln(1), proc(5), mount(8)
Стандарт иерархической файловой системы
2009-03-30 | Linux |